Computing system architectures have been continuously developed and engineered to improve security operations. However, there is a significant gap involving the security measures currently available within a computing system for IO operations. The security of IO operations within a computing system is often referred to as “Trusted” or “Secure” IO, referring to the concept of ensuring that memory operations being conducted by a device to and from memory are cryptographically secure, such that memory operations are untampered with and unusable by unintended parties.
The security considerations for such trusted IO techniques include: how to provide security in a cost effective way that may apply generically to operations by all devices; how multiple different entities may enable exclusive access to respective IO streams; and how to provide strong security protections to ensure confidentiality, integrity, and anti-replay. Existing solutions that have been attempted for computing device architectures have generally failed to deliver a market acceptable, comprehensive trusted IO solution that addresses all of these considerations.